]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
remoteSearch: Use GIcon for loading icon data
authorJasper St. Pierre <jstpierre@mecheye.net>
Wed, 2 Jan 2013 14:31:50 +0000 (09:31 -0500)
committerJasper St. Pierre <jstpierre@mecheye.net>
Wed, 2 Jan 2013 17:32:29 +0000 (12:32 -0500)
This removes us from caching the pixbuf data in the icon cache,
and allows us to remove St.TextureCache.load_from_raw().

https://bugzilla.gnome.org/show_bug.cgi?id=691019

js/ui/remoteSearch.js

index 9ac6972095df80a0ddd5db145e76edb59bff3b4e..507da7143ad9b772a53b53fbd8a22f18127130ca 100644 (file)
@@ -4,6 +4,7 @@ const Gio = imports.gi.Gio;
 const GLib = imports.gi.GLib;
 const Lang = imports.lang;
 const St = imports.gi.St;
+const Shell = imports.gi.Shell;
 
 const FileUtils = imports.misc.fileUtils;
 const Search = imports.ui.search;
@@ -187,18 +188,18 @@ const RemoteSearchProvider = new Lang.Class({
     },
 
     createIcon: function(size, meta) {
+        let gicon;
         if (meta['gicon']) {
-            return new St.Icon({ gicon: Gio.icon_new_for_string(meta['gicon']),
-                                 icon_size: size });
+            gicon = Gio.icon_new_for_string(meta['gicon']);
         } else if (meta['icon-data']) {
             let [width, height, rowStride, hasAlpha,
                  bitsPerSample, nChannels, data] = meta['icon-data'];
-            let textureCache = St.TextureCache.get_default();
-            return textureCache.load_from_raw(data, hasAlpha,
-                                              width, height, rowStride, size);
+            gicon = Shell.util_create_pixbuf_from_data(data, GdkPixbuf.Colorspace.RGB, hasAlpha,
+                                                       bitsPerSample, width, height, rowStride);
         }
 
-        return null;
+        return new St.Icon({ gicon: Gio.icon_new_for_string(meta['gicon']),
+                             icon_size: size });
     },
 
     _getResultsFinished: function(results, error) {